<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    //对象：万物皆为对象 对象是单个事物的抽象
    //对象是一个容器，封装了属性和方法
    //对象是无序的，属性名不能重复（可以实现数组去重复）
</script>
<script>
    //创建对象的四种方式
    //1.字面量定义
    var obj = {
        name:'obj'
    }
    //2.new object
    var obj_1 = new Object();
    obj_1.name = 'obj_1';
    console.log(obj_1);
    //3.工厂函数
    function fnObj(name){
        var obj_2=new Object()
        obj_2.name=name
        console.log(obj_2);
    }
    fnObj('obj_2')
    //4.构造函数
    function fnObj_1(name){
        this.name=name
    }
    let obj_3 =new fnObj_1('obj_3')
    console.log(obj_3);
</script>
<script>
    //面向对象：对过程式代码的高度封装。可以提高代码的效率和可维护性
    //面向对象的特征：封装性、继承性、多态性
    //面向对象是面向过程的高度封装
</script>
</html>